| 簡要說明 | |
|---|---|
|
檔案: \examples\Processing\ObjectFeatures\PrintInspection\PrintInspection_Blob.vad |
|
|
Default Platform: imaFlex CXP-12 Quad |
|
|
短說明 基於 Blob 的位置校正與缺陷檢測 |
|
在此設計「PrintInspection_Blob.vad」中,會執行物件的位置與方向校正以及隨後的影像缺陷檢測。 此範例適用於至少包含兩個可作為模板之印記的物件。特定印記在物件上應該 僅出現一次。在範例影像 「TestImage.tif」中,字母「K」與「g」被選為模板 1 與 2,大小為 29x38 像素。位於設計頂層的 註解方塊中說明瞭 調整此設計以符合您的範例影像之單獨步驟。 在此設計中,物件的位置與方向是透過基於 Blob 檢測的識別機制,根據物件上的兩個模板來決定。從兩個 模板的座標 可計算出物件的重心。根據模板 1 與 2 的相對位置,可計算出物件的旋轉 角度 Phi。 利用這些資訊,即可執行如 下所述的幾何轉換。此 轉換的實作等同於 下所述的設計範例「Geometric Transformation_ImageMoments.va」。 透過從計算出的校正後物件中減去物件的「黃金主版 (golden master)」模板,即可尋找位置與方向校正後物件上的缺陷。 剩餘的部分即為可能的缺陷。透過 Blob 檢測可決定這些缺陷的位置,並將其附加至 位置與方向校正後的物件影像中。 使用者可以選擇是要將帶有缺陷的影像,還是將帶有位置校正後物件 以及附加缺陷位置的影像傳輸至 PC。 接下來將說明基本設計結構與單一模組的功能。在圖 380 中可以看到基本設計結構。
在 HierarchicalBox FindPatterns(見圖 381)中,擷取的影像 (來自方塊 ImageAcquisition)會在 HierarchicalBox Binarization 中透過簡單的閾值進行二值化處理。當您 變更範例影像時,可能需要針對您的影像調整此閾值。在 HierarchicalBox BlobDetection 中,二值化影像中的物件 會透過運算子 Blob_Analysis_2D 進行檢測。此運算子的輸出為每個找到之物件周圍邊界方塊的 x 與 y 座標以及面積。 您可以在設計的註解方塊中找到有關這些參數的更詳細資訊。然後,在方塊 BlobSelection 中 根據物件的大小與位置來選取找到的物件。僅保留與模板相關物件的座標與大小資訊。 請將物件有效大小與位置的參數 IS_InRange 調整為您的模板(在方塊 FindPatterns 上按滑鼠右鍵)。座標與大小資訊是 HierarchicalBox ExtractCandidates 的輸入。其內容請參見圖 382。
在此,每個物件(透過 Blob 分析檢測到)都會透過運算子 ImageBufferMultiROIDyn_CutROIs 從原始影像中切割為感興趣區域(ROI),並 以單一影格形式轉發。在 HierarchicalBox DeterminingCOGTemplates(見圖 383)中, 會執行模板匹配以及隨後在影像中決定其座標的程序。
在方塊 TemplateMatching(其內容見圖 384)中, 會執行所選物件與模板 1 和 2(大小為 29x38 像素的字母「K」與「g」)的匹配。 在 Templates 中,模板 1 和 2 會以 16 位元值(每個模板 8 位元)寫入查找表 LUT_Values 中。接著,在方塊 Match 中,將影像中找到的物件與模板 1 和 2 進行簡單的 3x3 核心減法匹配。 在 TemplateMatch 中會選取出提供最佳匹配的核心元件。回到 DeterminingCOGTemplates 的內容,會透過運算子 RowMin_Template1 與 RowMin_Template2 來選取最佳的模板匹配,並透過暫存器 Register_COG_Template1、Register_COG_Template2 以及 在方塊 SelectLastPixel 中選取最後一個像素,來取得模板 1 與 2 的對應座標。方塊 DeterminingCOGTemplates 的輸出即為模板 1 與 2 的座標。
回到基本設計結構,我們現在要檢視 HierarchicalBox COG_Angle,其中會根據模板 1 與 2 的座標來決定物件重心的座標及其 旋轉角度。COG_Angle 的內容請參見圖 385。
旋轉角度
會計算方框中對象的
RotationAngle 根據
其中
分別代表模板 1 和 2 在 x 和 y 方向上的座標差值。
物件重心座標
其計算方式依據
此處
是物件重心、模板 1 與模板 2 之間的夾角,
當物件未旋轉時,是模板 2、模板 1 與水平線之間的夾角,而
是物件重心與模板 1 之間的距離。當您更換範例影像時,必須在方框上按滑鼠右鍵來調整這些數值 COG_Angle 在 "properties" 下方。
利用這些關於
,
的資訊,幾何轉換會在方框 GeometricTransformation" 中執行(請參閱圖 380中的基本設計結構),這相當於節款中描述的 VA 範例 "GeometricTransformation_ImageMoments.va" .
位置與方向校正後影像中的可能缺陷作為方框 GeometricTransformation 的輸出,可在方框 FindDefects 中找到,其中會從處理後的影像中減去影像的「黃金主版」模板。在消除殘留物(幾何轉換後雙線性插值的結果)後,方框 FindDefects 的輸出即為在物件上找到的純粹缺陷。透過方框 FindDefectPosition 中的 Blob 分析與算子 Blob_Analysis_2D,可以確定這些缺陷的座標。在方框 AppendDefectPositionsToImage 中,這些座標會附加到位置與方向校正後的影像中。使用者可以透過將算子 SourceSelector 的參數 "SelectSource" 設定為 0 或 1,來選擇是要透過 DMA 將帶有純粹缺陷的影像還是帶有缺陷座標的校正影像傳送到 PC。



上一頁

